﻿using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Windows.Forms;
using System.IO;
using eMisc;
using Misc;
using frmBG;


namespace eLib
{
    public class TechnologistData : BaseData
    {
        public const string DataName = "Данные технологов";
        public const string DataShortName = "ТП";

        public TechnologistData(WorkSpace WorkSpace)
            : base(WorkSpace, TechnologistData.DataName)
        {
            ShortName = TechnologistData.DataShortName;
        }

        protected override void defaultParams()
        {
            base.defaultParams();
            _params.Add("Годовая добыча нефти, тыс. тонн", true);
            _params.Add("Годовая добыча жидкости в поверхностных условиях, тыс. тонн", true);
            //_params.Add("Весовая обводненность", true);
            _params.Add("Годовая закачка воды, тыс. тонн", true);
            _params.Add("Годовая добыча попутного газа, млн. м3", true);
            _params.Add("Ввод из бурения нефтяных скважин вертикальных, шт.", true);
            _params.Add("Ввод из бурения нагнетательных скважин вертикальных, шт.", true);
            //15 ГТМ'ов
            for (int i=1;i<=15;i++) _params.Add("ГТМ-"+i.ToString()+", шт.", true);
            _params.Add("Вывод скважины в консервацию или пьезометрический фонд, шт.", true);
            _params.Add("Бурение добывающих скважин (горизонтальные скважины), шт.", true);
            _params.Add("Бурение добывающих скважин (вертикальные скважины) (газ), шт.", true);
            _params.Add("Бурение добывающих скважин (горизонтальные скважины) (газ), шт.", true);
            _params.Add("Бурение разведочных скважин, шт.", true);
            _params.Add("Бурение других скважин, шт.", true);
            _params.Add("Зарезка боковых стволов вертикальных, шт.", true);
            _params.Add("Зарезка боковых стволов горизонтальных, шт.", true);
            _params.Add("Среднегодовой действующий фонд добывающих скважин, шт.", true);
            _params.Add("Среднегодовой действующий фонд нагнетательных скважин, шт.", true);
            _params.Add("Дублеры для верикальных скважин (в замен старых), шт.", true);
            _params.Add("Дублеры для горизонтальных скважин, шт.", true);
            _params.Add("Коэффициент отбора от извлекаемых запасов, д. ед.", true);
        }

        public void GetPeriod(out int yearFrom, out int yearTo)
        {
            yearFrom = 0; yearTo = 0;
            //периоды разработки берутся из данных технологов
            foreach (int y in data.Keys)
            {
                if (isYearActual(y))
                {
                    if (y > yearTo) yearTo = y;
                    if (yearFrom == 0 || y < yearFrom) yearFrom = y;
                }
            }
        }

    }
}

